home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 July: Mac OS SDK / Dev.CD Jul 00 SDK2.toast / Development Kits / Cross Platform / QuickTime 4.1.2 Windows SDK / CIncludes / QD3DCustomElements.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-12  |  4.4 KB  |  178 lines  |  [TEXT/R*ch]

  1. /*
  2.      File:        QD3DCustomElements.h
  3.  
  4.      Contains:    Custom QuickTime Elements in QuickDraw 3D                            
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.6
  7.                  Release:    QuickTime 4.1
  8.  
  9.      Copyright:    (c) 1995-1999 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __QD3DCUSTOMELEMENTS__
  18. #define __QD3DCUSTOMELEMENTS__
  19.  
  20. #ifndef __QD3D__
  21.     #include <QD3D.h>
  22. #endif
  23.  
  24. #ifndef __MOVIES__
  25.     #include <Movies.h>
  26. #endif
  27.  
  28.  
  29.  
  30.  
  31. #if PRAGMA_ONCE
  32. #pragma once
  33. #endif
  34.  
  35. #ifdef __cplusplus
  36. extern "C" {
  37. #endif
  38.  
  39. #if PRAGMA_IMPORT
  40. #pragma import on
  41. #endif
  42.  
  43. #if PRAGMA_STRUCT_ALIGN
  44.     #pragma options align=power
  45. #elif PRAGMA_STRUCT_PACKPUSH
  46.     #pragma pack(push, 2)
  47. #elif PRAGMA_STRUCT_PACK
  48.     #pragma pack(2)
  49. #endif
  50.  
  51. #if PRAGMA_ENUM_ALWAYSINT
  52.     #pragma enumsalwaysint on
  53. #elif PRAGMA_ENUM_OPTIONS
  54.     #pragma option enum=int
  55. #elif PRAGMA_ENUM_PACK
  56.     #if __option(pack_enums)
  57.         #define PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__
  58.     #endif
  59.     #pragma options(!pack_enums)
  60. #endif
  61.  
  62.  
  63. /******************************************************************************
  64.  **                                                                             **
  65.  **                        Name Data Structure Definitions                         **
  66.  **                                                                             **
  67.  *****************************************************************************/
  68. #define    CEcNameElementName    "Apple Computer, Inc.:NameElement"
  69.  
  70.  
  71. /******************************************************************************
  72.  **                                                                             **
  73.  **                        Custom Name Element Functions                         **
  74.  **                                                                             **
  75.  *****************************************************************************/
  76. EXTERN_API_C( TQ3Status )
  77. CENameElement_SetData            (TQ3Object                 object,
  78.                                  const char *            name);
  79.  
  80. EXTERN_API_C( TQ3Status )
  81. CENameElement_GetData            (TQ3Object                 object,
  82.                                  char **                name);
  83.  
  84. EXTERN_API_C( TQ3Status )
  85. CENameElement_EmptyData            (char **                name);
  86.  
  87.  
  88. /******************************************************************************
  89.  **                                                                             **
  90.  **                            URL Data Structure Definitions                     **
  91.  **                                                                             **
  92.  *****************************************************************************/
  93. #define    CEcUrlElementName        "Apple Computer, Inc.:URLElement"
  94.  
  95. enum TCEUrlOptions {
  96.     kCEUrlOptionNone            = 0,
  97.     kCEUrlOptionUseMap            = 1
  98. };
  99. typedef enum TCEUrlOptions TCEUrlOptions;
  100.  
  101.  
  102. struct TCEUrlData {
  103.     char *                            url;
  104.     char *                            description;
  105.     TCEUrlOptions                     options;
  106. };
  107. typedef struct TCEUrlData                TCEUrlData;
  108. /******************************************************************************
  109.  **                                                                             **
  110.  **                        Custom URL Element Functions                         **
  111.  **                                                                             **
  112.  *****************************************************************************/
  113. EXTERN_API_C( TQ3Status )
  114. CEUrlElement_SetData            (TQ3Object                 object,
  115.                                  TCEUrlData *            urlData);
  116.  
  117. EXTERN_API_C( TQ3Status )
  118. CEUrlElement_GetData            (TQ3Object                 object,
  119.                                  TCEUrlData **            urlData);
  120.  
  121. EXTERN_API_C( TQ3Status )
  122. CEUrlElement_EmptyData            (TCEUrlData **            urlData);
  123.  
  124. /******************************************************************************
  125.  **                                                                             **
  126.  **                            Wire Data Definitions                             **
  127.  **                                                                             **
  128.  *****************************************************************************/
  129. #define    CEcWireElementName    "Apple Computer, Inc.:WireElement"
  130.  
  131. /******************************************************************************
  132.  **                                                                             **
  133.  **                        Wire Custom Element Functions                         **
  134.  **                                                                             **
  135.  *****************************************************************************/
  136. EXTERN_API_C( TQ3Status )
  137. CEWireElement_SetData            (TQ3Object                 object,
  138.                                  QTAtomContainer         wireData);
  139.  
  140. EXTERN_API_C( TQ3Status )
  141. CEWireElement_GetData            (TQ3Object                 object,
  142.                                  QTAtomContainer *        wireData);
  143.  
  144. EXTERN_API_C( TQ3Status )
  145. CEWireElement_EmptyData            (QTAtomContainer *        wireData);
  146.  
  147.  
  148.  
  149.  
  150. #if PRAGMA_ENUM_ALWAYSINT
  151.     #pragma enumsalwaysint reset
  152. #elif PRAGMA_ENUM_OPTIONS
  153.     #pragma option enum=reset
  154. #elif defined(PRAGMA_ENUM_PACK__QD3DCUSTOMELEMENTS__)
  155.     #pragma options(pack_enums)
  156. #endif
  157.  
  158. #if PRAGMA_STRUCT_ALIGN
  159.     #pragma options align=reset
  160. #elif PRAGMA_STRUCT_PACKPUSH
  161.     #pragma pack(pop)
  162. #elif PRAGMA_STRUCT_PACK
  163.     #pragma pack()
  164. #endif
  165.  
  166. #ifdef PRAGMA_IMPORT_OFF
  167. #pragma import off
  168. #elif PRAGMA_IMPORT
  169. #pragma import reset
  170. #endif
  171.  
  172. #ifdef __cplusplus
  173. }
  174. #endif
  175.  
  176. #endif /* __QD3DCUSTOMELEMENTS__ */
  177.  
  178.